Biologicos
bio <- read.csv(file = "records.csv", stringsAsFactors = F) %>%
select(Species, Site, Sale_price_pkg, Fish_Market_name, Catch_site, Pesca_Objetivo, Weight, Total_Length, Head_Length, Weight_notes, Otoliths, Collector) %>%
magrittr::set_colnames(value = tolower(colnames(.)))
Registros por persona
colectores <- group_by(bio, site, collector) %>%
count() %>%
ggplot(aes(x = collector, y = n)) +
geom_col(aes(fill = site), color = "black") +
cowplot::theme_cowplot() +
theme(legend.justification = c(1, 1),
legend.position = c(0.9, 0.9)) +
scale_fill_brewer(palette = "Set1") +
ggExtra::rotateTextX()
plotly::ggplotly(colectores)
Histogramas
tl <- ggplot(bio, aes(x = total_length)) +
geom_histogram(binwidth = 5 , fill = pal1[2], color = "black") +
theme_classic()
tl2 <- ggplot(bio, aes(x = total_length)) +
geom_density(binwidth = 5 , fill = pal1[2], color = "black") +
theme_classic()
tw <- ggplot(bio, aes(x = weight)) +
geom_histogram(binwidth = 5 , fill = pal1[2], color = "black") +
theme_classic()
tw2 <- ggplot(bio, aes(x = weight)) +
geom_density(binwidth = 5 , fill = pal1[2], color = "black") +
theme_classic()
cowplot::plot_grid(tl, tl2, tw, tw2, ncol = 2, labels = "AUTO")
model <- lm(log10(weight)~log10(total_length), data = bio)
tidy_model <- broom::tidy(model)
glance_model <- broom::glance(model)
text_linear <- c("log10(TW) = -5.0363 + log10(TL)^3.1198")
text_exp <- c("TW = 10^(-5.0363)*(TL^3.1198)")
TW vs TL
line <- data.frame(x = seq(0, 210, by = 1)) %>%
mutate(y = 10^(-5.0363)*(x^3.1198))
LW <- filter(bio, !is.na(total_length),
!is.na(weight)) %>%
mutate(weight_notes = ifelse(is.na(weight_notes), "No notes", weight_notes),
site = ifelse(is.na(site), "Missing", site)) %>%
ggplot(aes(x = total_length, y = weight)) +
geom_line(data = line, aes(x = x, y = y), linetype = "dashed") +
geom_point(size = 2, alpha = 0.5, aes(color = weight_notes, site = site, otolitos = otoliths)) +
scale_color_brewer(palette = pal3) +
labs(x = "Total Length (cm)", y = "Total Weight (Kg)") +
ggtitle(text_exp)
Ignoring unknown aesthetics: site, otolitosthe condition has length > 1 and only the first element will be usedUnknown palette #969457#357c57#b7e972#377368
plotly::ggplotly(LW)
LW <- filter(bio, !is.na(total_length),
!is.na(weight)) %>%
mutate(weight_notes = ifelse(is.na(weight_notes), "No notes", weight_notes),
site = ifelse(is.na(site), "Missing", site)) %>%
ggplot(aes(x = log10(total_length), y = log10(weight), color = weight_notes, site = site, otolitos = otoliths, Weight = weight, Length = total_length)) +
geom_abline(slope = 3.1198, intercept = -5.0363, linetype = "dashed") +
geom_point(size = 2) +
scale_color_brewer(palette = pal3) +
labs(x = "Total Length (cm)", y = "Total Weight (Kg)") +
ggtitle(text_linear)
the condition has length > 1 and only the first element will be usedUnknown palette #969457#357c57#b7e972#377368
plotly::ggplotly(LW)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6DQogICAgaHRtbF9ub3RlYm9vazoNCiAgICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgICAgdG9jOiB5ZXMNCiAgICAgIHRvY19mbG9hdDogeWVzDQotLS0NCg0KYGBge3J9DQpzdXBwcmVzc1BhY2thZ2VTdGFydHVwTWVzc2FnZXMoew0KICBsaWJyYXJ5KHR3ZWVucikNCiAgbGlicmFyeShnZ2FuaW1hdGUpDQogIGxpYnJhcnkodGlkeXZlcnNlKQ0KfSkNCg0Kd2luZG93c0ZvbnRzKFJhbGV3YXkgPSB3aW5kb3dzRm9udCgiUmFsZXdheSIpKQ0KYGBgDQoNCmBgYHtyfQ0KcGFsMSA8LSBjKCIjOTY5NDU3IiwgIiMzNTdjNTciKQ0KDQpwYWwyIDwtIGMoIiNiN2U5NzIiLCAiIzM3NzM2OCIpDQoNCnBhbDMgPC0gYygiIzk2OTQ1NyIsICIjMzU3YzU3IiwgIiNiN2U5NzIiLCAiIzM3NzM2OCIpDQpgYGANCg0KIyBQZXNxdWVyb3MNCg0KIyMgQXJyaWJvcyBDQQ0KDQojIyMgUGFsZXRhMQ0KDQpgYGB7ciwgZmlnLndpZHRoID0gMTYsIGZpZy5oZWlnaHQgPSA4fQ0KcmVhZF9jc3YoIkdTQl9MYW5kaW5ncy5jc3YiLCBjb2xfdHlwZXMgPSBjb2xzKCkpICU+JSANCiAgZ2F0aGVyKFByb2NlZGVuY2lhLCBDYXB0dXJhLCAtWWVhcikgJT4lIA0KICBnZ3Bsb3QoYWVzKHggPSBZZWFyLCB5ID0gQ2FwdHVyYSwgY29sb3IgPSBQcm9jZWRlbmNpYSkpICsNCiAgZ2VvbV9saW5lKHNpemUgPSAxLjEpICsNCiAgdGhlbWVfY2xhc3NpYygpICsNCiAgdGhlbWUobGVnZW5kLmp1c3RpZmljYXRpb24gPSBjKDAuNSwgMC41KSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gYygwLjcsIDAuNyksDQogICAgICAgIHRleHQgPSBlbGVtZW50X3RleHQoZmFtaWx5ID0gIlJhbGV3YXkiLCBzaXplID0gMTgpKSArDQogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSBwYWwxKSArDQogIGxhYnMoeCA9ICJBw7FvIiwgeSA9ICJBcnJpYm9zIGNvbWVyY2lhbGVzIGRlIE1lcm8gR2lnYW50ZSBlbiBDYWxpZm9ybmlhIChUb25lbGFkYXMpIikgKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDE5MjAsIDIwMTAsIDEwKSwgbWlub3JfYnJlYWtzID0gTlVMTCkgKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDM3NSwgNzUpLCBtaW5vcl9icmVha3MgPSBOVUxMLCBleHBhbmQgPSBjKDAsIDApKQ0KDQpnZ3NhdmUoIlBhbGV0YTEudGlmZiIsIGRwaSA9IDYwMCwgd2lkdGggPSAxNiwgaGVpZ2h0ID0gOCkNCmBgYA0KDQojIyMgUGFsZXRhIDINCg0KYGBge3IsIGZpZy53aWR0aCA9IDE2LCBmaWcuaGVpZ2h0ID0gOH0NCnJlYWRfY3N2KCJHU0JfTGFuZGluZ3MuY3N2IiwgY29sX3R5cGVzID0gY29scygpKSAlPiUgDQogIGdhdGhlcihQcm9jZWRlbmNpYSwgQ2FwdHVyYSwgLVllYXIpICU+JSANCiAgZ2dwbG90KGFlcyh4ID0gWWVhciwgeSA9IENhcHR1cmEsIGNvbG9yID0gUHJvY2VkZW5jaWEpKSArDQogIGdlb21fbGluZShzaXplID0gMS4xKSArDQogIHRoZW1lX2NsYXNzaWMoKSArDQogIHRoZW1lKGxlZ2VuZC5qdXN0aWZpY2F0aW9uID0gYygwLjUsIDAuNSksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9IGMoMC43LCAwLjcpLA0KICAgICAgICB0ZXh0ID0gZWxlbWVudF90ZXh0KGZhbWlseSA9ICJSYWxld2F5Iiwgc2l6ZSA9IDIwKSkgKw0KICBzY2FsZV9jb2xvcl9tYW51YWwodmFsdWVzID0gcGFsMikgKw0KICBsYWJzKHggPSAiQcOxbyIsIHkgPSAiQXJyaWJvcyBjb21lcmNpYWxlcyBkZSBNZXJvIEdpZ2FudGUgZW4gQ2FsaWZvcm5pYSBcbihUb25lbGFkYXMpIikgKw0KICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDE5MjAsIDIwMTAsIDEwKSwgbWlub3JfYnJlYWtzID0gTlVMTCkgKw0KICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gc2VxKDAsIDM3NSwgNzUpLCBtaW5vcl9icmVha3MgPSBOVUxMLCBleHBhbmQgPSBjKDAsIDApKQ0KDQpnZ3NhdmUoIlBhbGV0YTIudGlmZiIsIGRwaSA9IDYwMCwgd2lkdGggPSAxNiwgaGVpZ2h0ID0gOCkNCg0KYGBgDQoNCiMjIyBQYWxldGEgMSBhbmltYWRhDQoNCmBgYHtyfQ0KcGxvdF9kYXRhIDwtIHJlYWRfY3N2KCJHU0JfTGFuZGluZ3MuY3N2IiwgY29sX3R5cGVzID0gY29scygpKSAlPiUgDQogIGdhdGhlcihQcm9jZWRlbmNpYSwgQXJyaWJvcywgLVllYXIpICU+JSANCiAgbXV0YXRlKGVhc2UgPSAibGluZWFyIiwgeCA9IFllYXIpICU+JSANCiAgcmVuYW1lKHkgPSBBcnJpYm9zLCBpZCA9IFByb2NlZGVuY2lhLCB0aW1lID0gWWVhcikgDQoNCnR3ZWVuX3Bsb3QgPC0gcGxvdF9kYXRhICU+JQ0KICB0d2Vlbl9lbGVtZW50cyguLCAidGltZSIsICJpZCIsICJlYXNlIiwgbmZyYW1lcyA9IDI1MCkgJT4lICAgI3VzaW5nIHR3ZWVuciENCiAgbXV0YXRlKHllYXIgPSByb3VuZCh0aW1lKSwgaWQgPSAuZ3JvdXApICU+JQ0KICBsZWZ0X2pvaW4ocGxvdF9kYXRhLCBieSA9IGMoInRpbWUiLCAieSIsICJ4IiwgImlkIikpICU+JSANCiAgcmVuYW1lKFByb2NlZGVuY2lhID0gaWQpICU+JSANCiAgZ2dwbG90KGFlcyh4ID0geCwgeSA9IHksIGZyYW1lID0gLmZyYW1lLCBjb2xvciA9IFByb2NlZGVuY2lhKSkgKw0KICBnZW9tX3BhdGgoYWVzKGdyb3VwID0gUHJvY2VkZW5jaWEsIGN1bXVsYXRpdmUgPSBUKSwgc2l6ZSA9IDEuMSkgKw0KICB0aGVtZV9jbGFzc2ljKCkgKw0KICB0aGVtZShsZWdlbmQuanVzdGlmaWNhdGlvbiA9IGMoMC41LCAwLjUpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb24gPSBjKDAuNywgMC43KSwNCiAgICAgICAgdGV4dCA9IGVsZW1lbnRfdGV4dChmYW1pbHkgPSAiUmFsZXdheSIsIHNpemUgPSAxOCkpICsNCiAgc2NhbGVfY29sb3JfbWFudWFsKHZhbHVlcyA9IHBhbDEpICsNCiAgbGFicyh4ID0gIkHDsW8iLCB5ID0gIkFycmlib3MgKFRvbmVsYWRhcykiKSArDQogIHNjYWxlX3hfY29udGludW91cyhicmVha3MgPSBzZXEoMTkyMCwgMjAxMCwgMTApLCBtaW5vcl9icmVha3MgPSBOVUxMKSArDQogIHNjYWxlX3lfY29udGludW91cyhicmVha3MgPSBzZXEoMCwgMzc1LCA3NSksIG1pbm9yX2JyZWFrcyA9IE5VTEwpDQoNCmdnYW5pbWF0ZSh0d2Vlbl9wbG90LCB0aXRsZV9mcmFtZSA9IEZBTFNFLCBpbnRlcnZhbCA9IDAuMDAxLCAiTGFuZGluZ3NfQ0EuZ2lmIiwgYW5pLndpZHRoID0gODAwLCBhbmkuaGVpZ2h0ID0gNTAwKQ0KDQpgYGANCg0KIyMgQXJyaWJvcyBNZXhpY28NCg0KYGBge3IsIGZpZy53aWR0aCA9IDE2LCBmaWcuaGVpZ2h0ID0gOH0NCnJlYWRfY3N2KCJHU0JfTGFuZGluZ3NfbXguY3N2IiwgY29sX3R5cGVzID0gY29scygpKSAlPiUgDQogIGdncGxvdChhZXMoeCA9IEFubywgeSA9IEFycmlib3MpKSArDQogIGdlb21fbGluZShzaXplID0gMS4xLCBjb2xvciA9ICIjMzU3YzU3IikgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLCBjb2xvciA9ICIjMzU3YzU3IikgKw0KICB0aGVtZV9jbGFzc2ljKCkgKw0KICB0aGVtZShsZWdlbmQuanVzdGlmaWNhdGlvbiA9IGMoMC41LCAwLjUpLA0KICAgICAgICBsZWdlbmQucG9zaXRpb24gPSBjKDAuNywgMC43KSwNCiAgICAgICAgdGV4dCA9IGVsZW1lbnRfdGV4dChmYW1pbHkgPSAiUmFsZXdheSIsIHNpemUgPSAyMCkpICsNCiAgbGFicyh4ID0gIkHDsW8iLCB5ID0gIkFycmlib3MgY29tZXJjaWFsZXMgZGUgTWVybyBHaWdhbnRlIFxuKFRvbmVsYWRhcykiKSArDQogIHNjYWxlX3hfY29udGludW91cyhleHBhbmQgPSBjKDAsMCkpDQoNCmdnc2F2ZSgiTWV4LnRpZmYiLCBkcGkgPSA2MDAsIHdpZHRoID0gMTYsIGhlaWdodCA9IDgpDQoNCmBgYA0KDQojIEJpb2xvZ2ljb3MNCg0KYGBge3J9DQpiaW8gPC0gcmVhZC5jc3YoZmlsZSA9ICJyZWNvcmRzLmNzdiIsIHN0cmluZ3NBc0ZhY3RvcnMgPSBGKSAlPiUgDQogIHNlbGVjdChTcGVjaWVzLCBTaXRlLCBTYWxlX3ByaWNlX3BrZywgRmlzaF9NYXJrZXRfbmFtZSwgQ2F0Y2hfc2l0ZSwgUGVzY2FfT2JqZXRpdm8sIFdlaWdodCwgVG90YWxfTGVuZ3RoLCBIZWFkX0xlbmd0aCwgV2VpZ2h0X25vdGVzLCBPdG9saXRocywgQ29sbGVjdG9yKSAlPiUgDQogIG1hZ3JpdHRyOjpzZXRfY29sbmFtZXModmFsdWUgPSB0b2xvd2VyKGNvbG5hbWVzKC4pKSkNCmBgYA0KDQoNCiMjIFJlZ2lzdHJvcyBwb3IgcGVyc29uYQ0KDQpgYGB7ciwgZmlnLndpZHRoID0gMTAsIGZpZy5oZWlnaHQgPSAxMH0NCmNvbGVjdG9yZXMgPC0gZ3JvdXBfYnkoYmlvLCBzaXRlLCBjb2xsZWN0b3IpICU+JSANCiAgY291bnQoKSAlPiUgDQogIGdncGxvdChhZXMoeCA9IGNvbGxlY3RvciwgeSA9IG4pKSArDQogIGdlb21fY29sKGFlcyhmaWxsID0gc2l0ZSksIGNvbG9yID0gImJsYWNrIikgKw0KICBjb3dwbG90Ojp0aGVtZV9jb3dwbG90KCkgKw0KICB0aGVtZShsZWdlbmQuanVzdGlmaWNhdGlvbiA9IGMoMSwgMSksDQogICAgICAgIGxlZ2VuZC5wb3NpdGlvbiA9IGMoMC45LCAwLjkpKSArDQogIHNjYWxlX2ZpbGxfYnJld2VyKHBhbGV0dGUgPSAiU2V0MSIpICsNCiAgZ2dFeHRyYTo6cm90YXRlVGV4dFgoKQ0KDQpwbG90bHk6OmdncGxvdGx5KGNvbGVjdG9yZXMpDQpgYGANCg0KIyMgSGlzdG9ncmFtYXMNCg0KYGBge3J9DQp0bCA8LSBnZ3Bsb3QoYmlvLCBhZXMoeCA9IHRvdGFsX2xlbmd0aCkpICsNCiAgZ2VvbV9oaXN0b2dyYW0oYmlud2lkdGggPSA1ICwgZmlsbCA9IHBhbDFbMl0sIGNvbG9yID0gImJsYWNrIikgKw0KICB0aGVtZV9jbGFzc2ljKCkNCg0KdGwyIDwtIGdncGxvdChiaW8sIGFlcyh4ID0gdG90YWxfbGVuZ3RoKSkgKw0KICBnZW9tX2RlbnNpdHkoYmlud2lkdGggPSA1ICwgZmlsbCA9IHBhbDFbMl0sIGNvbG9yID0gImJsYWNrIikgKw0KICB0aGVtZV9jbGFzc2ljKCkNCg0KdHcgPC0gZ2dwbG90KGJpbywgYWVzKHggPSB3ZWlnaHQpKSArDQogIGdlb21faGlzdG9ncmFtKGJpbndpZHRoID0gNSAsIGZpbGwgPSBwYWwxWzJdLCBjb2xvciA9ICJibGFjayIpICsNCiAgdGhlbWVfY2xhc3NpYygpDQoNCnR3MiA8LSBnZ3Bsb3QoYmlvLCBhZXMoeCA9IHdlaWdodCkpICsNCiAgZ2VvbV9kZW5zaXR5KGJpbndpZHRoID0gNSAsIGZpbGwgPSBwYWwxWzJdLCBjb2xvciA9ICJibGFjayIpICsNCiAgdGhlbWVfY2xhc3NpYygpDQoNCmNvd3Bsb3Q6OnBsb3RfZ3JpZCh0bCwgdGwyLCB0dywgdHcyLCBuY29sID0gMiwgbGFiZWxzID0gIkFVVE8iKQ0KYGBgDQoNCmBgYHtyfQ0KbW9kZWwgPC0gbG0obG9nMTAod2VpZ2h0KX5sb2cxMCh0b3RhbF9sZW5ndGgpLCBkYXRhID0gYmlvKQ0KDQp0aWR5X21vZGVsIDwtIGJyb29tOjp0aWR5KG1vZGVsKQ0KZ2xhbmNlX21vZGVsIDwtIGJyb29tOjpnbGFuY2UobW9kZWwpDQoNCnRleHRfbGluZWFyIDwtIGMoImxvZzEwKFRXKSA9IC01LjAzNjMgKyBsb2cxMChUTCleMy4xMTk4OyBSMiA9IDAuOTc5MyAocCA8IDAuMDAxKSIpDQoNCnRleHRfZXhwIDwtIGMoIlRXID0gMTBeKC01LjAzNjMpKihUTF4zLjExOTgpOyBSMiA9IDAuOTc5MyAocCA8IDAuMDAxKSIpDQpgYGANCg0KIyMgVFcgdnMgVEwNCg0KYGBge3IsIGZpZy53aWR0aCA9IDEwLCBmaWcuaGVpZ2h0ID0gNX0NCg0KbGluZSA8LSBkYXRhLmZyYW1lKHggPSBzZXEoMCwgMjEwLCBieSA9IDEpKSAlPiUgDQogIG11dGF0ZSh5ID0gMTBeKC01LjAzNjMpKih4XjMuMTE5OCkpDQoNCkxXIDwtIGZpbHRlcihiaW8sICFpcy5uYSh0b3RhbF9sZW5ndGgpLA0KICAgICAgICAgICAgICFpcy5uYSh3ZWlnaHQpKSAlPiUgIA0KICBtdXRhdGUod2VpZ2h0X25vdGVzID0gaWZlbHNlKGlzLm5hKHdlaWdodF9ub3RlcyksICJObyBub3RlcyIsIHdlaWdodF9ub3RlcyksDQogICAgICAgICBzaXRlID0gaWZlbHNlKGlzLm5hKHNpdGUpLCAiTWlzc2luZyIsIHNpdGUpKSAlPiUgDQogIGdncGxvdChhZXMoeCA9IHRvdGFsX2xlbmd0aCwgeSA9IHdlaWdodCkpICsNCiAgZ2VvbV9saW5lKGRhdGEgPSBsaW5lLCBhZXMoeCA9IHgsIHkgPSB5KSwgbGluZXR5cGUgPSAiZGFzaGVkIikgKw0KICBnZW9tX3BvaW50KHNpemUgPSAyLCBhbHBoYSA9IDAuNSwgYWVzKGNvbG9yID0gd2VpZ2h0X25vdGVzLCBzaXRlID0gc2l0ZSwgb3RvbGl0b3MgPSBvdG9saXRocykpICsNCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSBwYWwzKSArDQogIGxhYnMoeCA9ICJUb3RhbCBMZW5ndGggKGNtKSIsIHkgPSAiVG90YWwgV2VpZ2h0IChLZykiKSArDQogIGdndGl0bGUodGV4dF9leHApDQoNCnBsb3RseTo6Z2dwbG90bHkoTFcpDQpgYGANCg0KDQpgYGB7ciwgZmlnLndpZHRoID0gMTAsIGZpZy5oZWlnaHQgPSA1fQ0KTFcgPC0gZmlsdGVyKGJpbywgIWlzLm5hKHRvdGFsX2xlbmd0aCksDQogICAgICAgICAgICAgIWlzLm5hKHdlaWdodCkpICU+JSAgDQogIG11dGF0ZSh3ZWlnaHRfbm90ZXMgPSBpZmVsc2UoaXMubmEod2VpZ2h0X25vdGVzKSwgIk5vIG5vdGVzIiwgd2VpZ2h0X25vdGVzKSwNCiAgICAgICAgIHNpdGUgPSBpZmVsc2UoaXMubmEoc2l0ZSksICJNaXNzaW5nIiwgc2l0ZSkpICU+JSANCiAgZ2dwbG90KGFlcyh4ID0gbG9nMTAodG90YWxfbGVuZ3RoKSwgeSA9IGxvZzEwKHdlaWdodCksIGNvbG9yID0gd2VpZ2h0X25vdGVzLCBzaXRlID0gc2l0ZSwgb3RvbGl0b3MgPSBvdG9saXRocywgV2VpZ2h0ID0gd2VpZ2h0LCBMZW5ndGggPSB0b3RhbF9sZW5ndGgpKSArDQogIGdlb21fYWJsaW5lKHNsb3BlID0gMy4xMTk4LCBpbnRlcmNlcHQgPSAtNS4wMzYzLCBsaW5ldHlwZSA9ICJkYXNoZWQiKSArDQogIGdlb21fcG9pbnQoc2l6ZSA9IDIpICsNCiAgc2NhbGVfY29sb3JfYnJld2VyKHBhbGV0dGUgPSBwYWwzKSArDQogIGxhYnMoeCA9ICJUb3RhbCBMZW5ndGggKGNtKSIsIHkgPSAiVG90YWwgV2VpZ2h0IChLZykiKSArDQogIGdndGl0bGUodGV4dF9saW5lYXIpDQoNCnBsb3RseTo6Z2dwbG90bHkoTFcpDQpgYGANCg0KDQo=